package com.wind.a_多线程的创建;

/**
 * 这种方式创建并启动多线程的步骤如下：
 * 1、定义一个类实现Runnable接口；
 * 2、创建该类的实例对象obj；
 * 3、将obj作为构造器参数传入Thread类实例对象，这个对象才是真正的线程对象；
 * 4、调用线程对象的start()方法启动该线程；
 *
 * @author Windy
 */
public class ImpRunnable implements Runnable {

    private int i;

    @Override
    public void run() {
        for (; i < 50; i++) {
            //当线程类实现Runnable接口时，要获取当前线程对象只有通过Thread.currentThread()获取
            System.out.println("子线程 ---> " + Thread.currentThread().getName() + " " + i);
        }
    }

    public static void main(String[] args) {
        for (int j = 0; j < 30; j++) {

            System.out.println("主线程 ---> " + Thread.currentThread().getName() + " " + j);

            if (j == 10) {
                Runnable thread_target = new ImpRunnable();
                //通过new Thread(target,name)的方式创建线程
                new Thread(thread_target, "线程1").start();
                new Thread(thread_target, "线程2").start();
            }
        }
    }
}
